How it works
Theunpod SDK connects your AgentRunner to Unpod’s voice platform over WebSocket. Unpod handles STT, TTS, telephony, numbers, and recording — your code handles dialog logic using a SuperDialog DialogMachine or LLMAgent.
Step 1 — Build your dialog machine
Step 2 — Plug the machine into your session
Assigndialog_machine to ctx.session.dialog_machine inside your AgentRunner entrypoint. The SDK auto-wraps it — no adapter import needed.
Step 3 — Create and register your Speech Pipe
Complete example
Using pre-call data in the flow
Data passed when triggering an outbound call (or injected by the platform) is available onctx.data:
Mid-call context injection
Inject system instructions at any point during an active call from your own business logic:Switching flows mid-call
vs. LiveKit / PipeCat adapters
| Unpod Voice (SDK) | LiveKit adapter | PipeCat adapter | |
|---|---|---|---|
| Who handles STT/TTS | Unpod | You (via LiveKit plugins) | You (via PipeCat services) |
| Who handles telephony | Unpod | You / LiveKit SIP | You / Twilio / etc. |
| Dialog runs in | Your AgentRunner process | Your LiveKit agent | Your PipeCat pipeline |
| Best for | Fastest path to production voice | Full media layer control | Existing PipeCat pipelines |
Next Steps
SDK Setup
AgentRunner constructor, credentials, and lifecycle.
Session Controls
say(), transfer(), recording controls during live calls.
SuperDialog Flows
Build and save conversation flows.
SuperDialog Tools
Add Python, HTTP, and MCP tools to your machine.